package display;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.springframework.web.context.*;

import util.CDDTO;
import util.CDAssembler;
import domain.CDRepository;
import domain.CD;

/**
* Clase controladora que se encarga de consultar los datos de la base de datos y enviarlos a la presentacion  para ser listados.
* @version 1, 5/10/2014
* @author Diego Cordero, Bryan Morales.
*/
public class ListaCDs extends PageController {
  
  /** 
	 * Se encarga de consultar los datos de la base de datos y enviarlos a la vista para ser listados 	 	 	 
	 * @version 1, 5/10/2014
	 * @author Diego Cordero, Bryan Morales.	 
	 * @return void
	 */
  public void doGet(HttpServletRequest request,HttpServletResponse response)
    throws ServletException, IOException {
	  
	CDRepository objs = (CDRepository) context.getBean("CDRepository");
    
    try {
			Collection lista = objs.findAll();
			List data = new ArrayList();
			Iterator itr = lista.iterator();
			while (itr.hasNext()) {
				CD obj = (CD)itr.next();
				CDDTO dto = CDAssembler.createDTO(obj);				
				data.add(dto);				
			}
			
		  request.setAttribute("CDs",data);		 
		  forward("/listaCDs.jsp",request,response);		  
	} catch (Exception e) {
		request.setAttribute("mensaje",e.getMessage()+" ListaCDs.");
		forward("/paginaError.jsp",request,response);
	}
  }
}